package com.blog.web.page;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * 文件名： com.blog.web.page.WebPage.java
 * 作者：   WenBin
 * 日期：   2017年4月21日
 * 功能说明： bootstrap table 功能
 * =========================================================
 * 修改记录：
 * 修改作者    日期      修改内容
 * =========================================================
 *  Copyright (c) 2010-2011 .All rights reserved.
 */
public class WebPage {
	private Integer limit;   //页面大小
	private Integer offset;  //页码
	/**
	 * 查询参数
	 */
	Map<String, Object>	params	= null;

	public Integer getLimit() {

		return limit;
	}

	public void setLimit(Integer limit) {

		this.limit = limit;
	}

	public Integer getOffset() {

		return offset;
	}

	public void setOffset(Integer offset) {

		this.offset = offset;
	}

	public Map<String, Object> getParams() {

		return params;
	}

	public void setParams(Map<String, Object> params) {

		this.params = params;
	}

	public Integer getPageNumber() {
		if(limit!=null && offset!=null && limit>0){
			if(offset == 0){
				return 1;
			}else{
				return offset != 0 ? limit/offset+1 : limit/offset;
			}
		}
		return 1;
	}

	/**
	 * @Method: com.bozhon.paging.PageDto.castQueryObject
	 * @Description: 转换传过来的需要查询的参数直接放入map
	 * @author: WenBin
	 * @date: 2017年4月1日
	 * @version: 1.0
	 * @param obj
	 * @return
	 * @throws Exception
	 *             Map<String,Object>
	 * @update [日期YYYY-MM-DD] [更改人姓名][变更描述]
	 */
	public Map<String, Object> castQueryObject(Object obj) throws Exception {
		if(params == null){
			params = new HashMap<String, Object>();
		}
		Field[] fs = obj.getClass().getDeclaredFields();
		for (Field f : fs) {
			f.setAccessible(true);
			String name = f.getName();
			params.put(name, f.get(obj));
		}
		return params;
	}
}
